[%#
  # IMPORTANT NOTE
  #   This documentation is generated automatically from source
  #   templates.  Any changes you make here may be lost.
  # 
  #   The 'docsrc' documentation source bundle is available for download
  #   from http://www.template-toolkit.org/docs.html and contains all
  #   the source templates, XML files, scripts, etc., from which the
  #   documentation for the Template Toolkit is built.
-%]
[% META book = 'Modules'
        page = 'Namespace_Constants'
%]
[%  WRAPPER toc;
	PROCESS tocitem 
	        title ="SYNOPSIS"
                subs  = [];
	PROCESS tocitem 
	        title ="DESCRIPTION"
                subs  = [];
	PROCESS tocitem 
	        title ="PUBLIC METHODS"
                subs  = [
                    "new(\\%constants)",
		    "ident(\\@ident)"
		];
	PROCESS tocitem 
	        title ="AUTHOR"
                subs  = [];
	PROCESS tocitem 
	        title ="VERSION"
                subs  = [];
	PROCESS tocitem 
	        title ="COPYRIGHT"
                subs  = [];
	PROCESS tocitem 
	        title ="SEE ALSO"
                subs  = [];
    END
%]
<!-- Pod to HTML conversion by the Template Toolkit version 2 -->
[% WRAPPER section
    title="SYNOPSIS"
-%]<pre>    # easy way to define constants
    use Template;</pre>
<pre>    my $tt = Template-&gt;new({
	CONSTANTS =&gt; {
	    pi =&gt; 3.14,
	    e  =&gt; 2.718,
	},
    });</pre>
<pre>    # nitty-gritty, hands-dirty way
    use Template::Namespace::Constants;</pre>
<pre>    my $tt = Template-&gt;new({
	NAMESPACE =&gt; {
	    constants =&gt; Template::Namespace::Constants-&gt;new({
		pi =&gt; 3.14,
	        e  =&gt; 2.718,
            },
	},
    });</pre>
[%- END %]
[% WRAPPER section
    title="DESCRIPTION"
-%]<p>
The Template::Namespace::Constants module implements a namespace handler
which is plugged into the Template::Directive compiler module.  This then
performs compile time constant folding of variables in a particular namespace.
</p>
[%- END %]
[% WRAPPER section
    title="PUBLIC METHODS"
-%][% WRAPPER subsection
   title = "new(\\%constants)"
-%]<p>
The new() constructor method creates and returns a reference to a new
Template::Namespace::Constants object.  This creates an internal stash
to store the constant variable definitions passed as arguments.
</p>
<pre>    my $handler = Template::Namespace::Constants-&gt;new({
	pi =&gt; 3.14,
	e  =&gt; 2.718,
    });</pre>
[%- END %]
[% WRAPPER subsection
   title = "ident(\\@ident)"
-%]<p>
Method called to resolve a variable identifier into a compiled form.  In this
case, the method fetches the corresponding constant value from its internal
stash and returns it.
</p>
[%- END %]
[%- END %]
[% WRAPPER section
    title="AUTHOR"
-%]<p>
Andy Wardley &lt;abw@wardley.org&gt;
</p>
<p>
[% ttlink('http://wardley.org/', 'http://wardley.org/') -%]
</p>
[%- END %]
[% WRAPPER section
    title="VERSION"
-%]<p>
1.27, distributed as part of the
Template Toolkit version 2.19, released on 27 April 2007.
</p>
[%- END %]
[% WRAPPER section
    title="COPYRIGHT"
-%]<pre>  Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.</pre>
<p>
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
</p>
[%- END %]
[% WRAPPER section
    title="SEE ALSO"
-%]<p>
[% ttlink('Template::Directive', 'Template::Directive') -%]
</p>
[%- END %]



